﻿var cargoAreaComun;
$(document).ready(main);

function main() {


    cargarEdificios();
    
 var loc = window.location;
        var pathName = loc.pathname.substring(loc.pathname.lastIndexOf('/') + 1,100);
        cargoAreaComun = sessionStorage.getItem("cargo");
        
        if (pathName == "Producto") {




            $("#Buscar").hide();

            $("#Registrar").hide();
            if ((cargoAreaComun == 1)||(cargoAreaComun == 3)||(cargoAreaComun == 4)) {
                $("#Buscar").show();

                $("#Registrar").show();
            }
            
            if (cargoAreaComun == 5) {
                $("#Buscar").show();

            
            }
            


            return null;
        }

        

        if (pathName == "RegistrarProducto") {
            RegCargarTipoProducto();


            $("#RegBtnCancelar").click(menuMantenimientoProducto);
        $("#RegBtnRegistrar").click(registrarProducto);
    } else {
//        $("#BscBtnModificar").hide();

//        $("#BscBtnEliminar").hide();


        

        BscCargarTipoProducto();
            ejecutarPorDefecto();
           
            $("#BscBtnBuscar").click(buscarProducto);
            $("#BscBtnCancelar").click(menuMantenimientoProducto);
            $("#BscBtnEliminar").click(eliminarProducto);
//            
            $("#BscBtnModificar").hide();
            $("#BscBtnEliminar").hide();
            $("#BscBtnLimpiar").click(limpiarBusqueda);
//           

            $("#BscBtnModificar").click(abrirModificar);


        }

    }

    function eliminarProducto() {
       

        var codigo;
        if ($("input:radio[name='R1']").is(":checked")) {
            var question = confirm("¿Esta seguro que desea eliminar el producto?");

            if (question != 0) {

                $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
                    switch (index2) {
                        case 1:
                            codigo = $(this).text();
                            break;


                    }
                })

                mantenerProducto(0, "", "", "", "", codigo);
                buscarProducto();
            }
            


        } else {
            alert("Debe seleccionar una fila");
            return null;
        }
        

      
       

    }



    
    function abrirModificar() {
                if ($("input:radio[name='R1']").is(":checked")) {
                    $("#dialog-form").dialog("open");
                    

                            var nombre, codigo, tipoProducto, precioEstimado,stock, descripcion;

                            $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
                                switch (index2) {
                                    //                                case 0: 
                                    //                                    codigo = $(this).text(); 
                                    //                                    break; 
                                    case 2:
                                        nombre = $(this).text();
                                        break;
                                    case 3:
                                        tipoProducto = $(this).text();
                                        break;
                                    case 4:
                                        precioEstimado = $(this).text();
                                        break;
                                    case 5:
                                        stock= $(this).text();
                                        break;
                                    case 6:
                                        descripcion = $(this).text();
                                        break;

                                }
                            })
                            //alert(idMantPrev + ' - ' + idMantenible + ' - ' + nombreMantenible + ' - ' + idContrato + ' - ' + idProveedor + ' - ' + proveedor + ' - ' + Fecha + ' - ' + descripcion + ' - ' + monto + ' - ' + $("input:radio[name='R1']:checked").val());
                            document.getElementById("BvmTbxModificarNombre").value = nombre;
                            
                            document.getElementById("BvmSctModificarTipoProducto").value = tipoProducto;
                            document.getElementById("BvmTbxModificarPrecioEstimado").value = precioEstimado;
                            document.getElementById("BvmTbxModificarDescripcion").value = descripcion;
                            document.getElementById("BvmTbxModificarStock").value = stock;
                           // alert(descripcion);
                }
                else {
                    alert("Debe seleccionar una fila");
                }

            }
    
       



       
   

    function limpiarBusqueda() {


        $("#BscTbxNombre").val("");
        $("#BscSctTipoProducto").val("");
        $("#BscTbxPrecioEstimadoMayor").val("");
        $("#BscTbxPrecioEstimadoMenor").val("");
        $("#BscTbxDescripcion").val(""); $("#BscTbxStockMayor").val("");
        $("#BscTbxStockMenor").val("");

    }

    function ejecutarPorDefecto() {

        

        $("#dialog-form").dialog({
            autoOpen: false,
            height: 600,
            width: 850,
            modal: true,
            buttons: {
                "Aceptar": function () {
                    var codigo;
                    $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
                        switch (index2) {
                            case 1:
                                codigo = $(this).text();
                                break;


                        }
                    })

                    if (($.trim($("#BvmTbxModificarNombre").val()) == "") || ($.trim($("#BvmSctModificarTipoProducto").val()) == "") || ($.trim($("#BvmTbxModificarPrecioEstimado").val()) == "") || ($.trim($("#BvmTbxModificarDescripcion").val()) == "")) {

                        alert("Completar los datos obligatorios (*)");
                        return null;
                    }


                    mantenerProducto(2, $("#BvmTbxModificarNombre").val(), $("#BvmSctModificarTipoProducto").val(), $("#BvmTbxModificarPrecioEstimado").val(), $("#BvmTbxModificarDescripcion").val(), codigo, $("#BvmSctModificarStock").val());
                    buscarProducto();

                    $(this).dialog("close");
                 


                },
                Cancel: function () {

                    $(this).dialog("close");
                }
            },
            close: function () {

            }
        });

        
    }


    function registrarProducto() {


        if (($.trim($("#RegTbxNombre").val()) == "") || ($.trim($("#RegTbxStockInicial").val()) == "") || ($.trim($("#RegSctEdificio").val()) == "") || ($.trim($("#RegSctTipoProducto").val()) == "") || ($.trim($("#RegTbxPrecioEstimado").val()) == "") || ($.trim($("#RegTbxDescripcion").val()) == "")) {

            alert("Completar los datos obligatorios (*)");
            return null;
        }




        mantenerProducto(1, $("#RegTbxNombre").val(), $("#RegSctTipoProducto").val(), $("#RegTbxPrecioEstimado").val(), $("#RegTbxDescripcion").val(),0,$("#RegTbxStockInicial").val());
       
    }

    function mantenerProducto(accion,nombre,tipoProducto,precioEstimado,descripcion,codigo,stock){




      
      
      
      
        var enviar = {
            accion:accion,
            nombre:nombre,
            tipoProducto:tipoProducto,
            precioEstimado:precioEstimado,
            descripcion: descripcion,
            idProducto:codigo,
            idEdificio:$("#RegSctEdificio").val(),
            stock:stock
        }

        var jsonData = JSON.stringify(enviar);

        $.ajax({
            async: false,
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "mantenerProducto",

            success: function (data) {
               
                alert(data.mensaje);
 if (accion == "1") {
                    menuMantenimientoProducto();
                }
                $("#RegTbxNombre").val("");
                $("#RegSctTipoProducto").val("");
                $("#RegTbxPrecioEstimado").val("");
                $("#RegTbxDescripcion").val("");
            }
        });



    }

    function menuMantenimientoProducto() {
        window.history.back();
    }

    function BscCargarTipoProducto() {


        var enviar = {

        }

        var jsonData = JSON.stringify(enviar);

        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "cargarTipoProducto",
            success: function (data) {
                
                var lista = data.listaTipoProducto;
                $("#BvmSctModificarTipoProducto").find('option').remove().end().append("<option></option>");
                $.each(lista, function (i, item) {
                    $("#BvmSctModificarTipoProducto").append("<option>" + item + "</option>");
                });
                $("#BscSctTipoProducto").find('option').remove().end().append("<option></option>");
                $.each(lista, function (i, item) {
                    $("#BscSctTipoProducto").append("<option>" + item + "</option>");
                });
            }
        });

    }
     function RegCargarTipoProducto() {


        var enviar = {

        }

        var jsonData = JSON.stringify(enviar);

        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "cargarTipoProducto",
            success: function (data) {
                var lista = data.listaTipoProducto;
                $("#RegSctTipoProducto").find('option').remove().end().append("<option></option>");
                $.each(lista, function (i, item) {
                    $("#RegSctTipoProducto").append("<option>" + item + "</option>");
                });
            }
        });





    }



    function digits(obj, e, allowDecimal, allowNegative) {

    var key;
    var isCtrl = false;
    var keychar;
    var reg;

    if (window.event) {
        key = e.keyCode;
        isCtrl = window.event.ctrlKey
    }
    else if (e.which) {
        key = e.which;
        isCtrl = e.ctrlKey;
    }

    if (isNaN(key)) return true;
    keychar = String.fromCharCode(key);
    if (key == 8 || isCtrl) {
        return true;
    }
    reg = /\d/;
    var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
    var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
    return isFirstN || isFirstD || reg.test(keychar);
}


function buscarProducto() {

    if ($("#RegSctEdificio").val() == "") {

        document.getElementById("errorEdificio").innerHTML = "Seleccione un edificio.";
    } else {
        document.getElementById("errorEdificio").innerHTML = "";
        
    }

    var nombre, tipoProducto, precioEstimadoMayor, precioEstimadoMenor,stock, descripcion;


    $("#RegTbxNombre").val()
    $("#RegSctTipoProducto").val("");
    $("#RegTbxPrecioEstimado").val("");
    $("#RegTbxDescripcion").val("");


    var enviar = {

        nombre: $("#BscTbxNombre").val(),
        tipoProducto: $("#BscSctTipoProducto").val(),
        precioEstimadoMayor: $("#BscTbxPrecioEstimadoMayor").val(),
        precioEstimadoMenor: $("#BscTbxPrecioEstimadoMenor").val(),
        descripcion: $("#BscTbxDescripcion").val(),
        stockMayor: $("#BscTbxStockMayor").val(),
        stockMenor: $("#BscTbxStockMenor").val(),
        idEdificio: $("#RegSctEdificio").val()

    }

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "buscarProducto",

        success: function (data) {
            var lista = data.listaProducto;
            var escritor = "";
            //idContrato, nombreEdificio, nombreProveedor, fechaRegistro, periodo, mantenible;
            if (lista.length > 0) {
                escritor += "<table id='tablaProducto'>" +
                    "<thead>" +
                        "<th class=" + "\"style1\" " + "style=" + "\"width:30px;\" " + "></th>" +
                        '<th style=\"display:none\">Cod. Producto</th>' +
                     
                        '<th>Nombre</th>' +
                        '<th>Tipo Producto</th>' +
                        "<th>Precio Est.</th>" +
                        "<th>Stock</th>" +
                        '<th>Descripcion</th>' +

                //"<th class=" + "\"style1\" "+ "style="+"\"width:30px;\" "+"></th>"+
                    "</thead>";
                escritor += '<tbody id="bodyMP">';

                $.each(lista, function (i, item) {
                    escritor += "<tr>";
                    escritor += "<td class=" + "\"style1\"" + " style=" + "\width:30px;\"" + " align=" + "\"center\"" + "><input id=" + "\"RadioButton1\"" + " name=" + "\"R1\"" + " type=" + "\"radio\"" + " value=" + "\"1\"" + " style=" + "\"width:30px;\"/></td>";
                    escritor += '<td style=\"display:none\">' + item.idProducto + '</td>';
                    escritor += '<td style="width:auto;">' + item.nombre + '</td>';
                    escritor += '<td style="width:auto;">' + item.tipoProducto + '</td>';
                    escritor += '<td style="width:auto;">' + item.precioEstimado + '</td>';
                    escritor += '<td style="width:auto;">' + item.stock + '</td>';
                    escritor += '<td style="width:auto;">' + item.descripcion + '</td>';
                    escritor += "</tr>";
                });

                escritor += "</toby>";

                escritor += "</table>";

                if (cargoAreaComun <= 4) {
                    $("#BscBtnModificar").show();
                    $("#BscBtnEliminar").show();
                }
                $("#TablaDinamicaBusqueda").html(escritor);
                $("#TablaDinamicaBusqueda").show();
                if (lista.length > 0) {
                    $(function () {
                        /* initiate the plugin */
                        $("#holderMP").jPages({//id del div de la paginacion
                            containerID: "bodyMP", //cuerpo es el id del tbody de mi tabla
                            perPage: 10, // numero de filas por pagina
                            delay: 20,
                            startPage: 1, // pagina que se visualizara en la pantalla
                            midRange: 3, // rango de numeros de pagina q se muestran en el div de paginacion, aqui es dond aparecen los puntos suspensivos: 1,2,3...10
                            animation: "flipInY"
                        });
                    });
                    //            setearValores('tablaContrato', 10);
                    //            init();
                    //            showPageNav('pager', 'NavPosicionCP');
                    //            showPage(1);
                    $("#holderMP").show();
                }
            } else {
                escritor = "<p>No se encontró ninguna coincidencia</p>";

                $("#BscBtnModificar").hide();
                $("#BscBtnEliminar").hide();
                $("#TablaDinamicaBusqueda").html(escritor);
                $("#TablaDinamicaBusqueda").show();
                $("#holderMP").hide();
                //$("#NavPosicionCP").hide();
            }

        }
    });
}
function permite(obj, elEvento, permitidos, allowDecimal) {

    var numeros = "0123456789";
    var caracteres = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
    var numerosCaracteres = numeros + caracteres;
    var teclasEspeciales = [8, 37, 39, 46];

    switch (permitidos) {
        case 'num':
            permitidos = numeros;
            break;
        case 'car':
            permitidos = caracteres;
            break;
        case 'numCar':
            permitidos = numerosCaracteres;
            break;
    }

    if (window.event) {
        key = elEvento.keyCode;

    }
    else if (elEvento.which) {
        key = elEvento.which;

    }

    var evento = elEvento || window.event;
    var codigoCaracter = evento.charCode || evento.keyCode;
    var caracter = String.fromCharCode(codigoCaracter);
    var isFirstD = allowDecimal ? String.fromCharCode(key) == '.' && obj.value.indexOf('.') == -1 : false;

    return (permitidos.indexOf(caracter) != -1) || isFirstD;
}




function cargarEdificios() {
    var enviar = {
        Nombre: "",
        IdEdificio: ""
    }

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "cargarEdificios",
        success: function (data) {
            
            var localEdificio = sessionStorage.getItem("edificio");

            var lista = data.listaEdificio;

            $("#RegSctEdificio").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {
                $("#RegSctEdificio").append("<option value = \"" + item.IdEdificio + "\">" + item.Nombre + "</option>");
            });



            if (localEdificio != 1 && localEdificio != 2) {
                jQuery("#RegSctEdificio option").each(function () {
                    if (jQuery(this).val() == localEdificio) {
                        jQuery(this).attr("selected", "selected");
                        return false;
                    }
                });
                $("#RegSctEdificio")
                .attr('disabled', 'disabled')
                .css({
                    "color": "red",
                    "background-color": "black",
                    "border-style": "solid"
                });



            }
        }
    });
}



function limpiarRegistrar() {

    limpiarBusqueda();
    $("#BscBtnModificar").hide();
    $("#BscBtnEliminar").hide();
    $("#TablaDinamicaBusqueda").hide();
    $("#holderMP").hide();


}